package com.xmy.erp.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * <p>
 * 记上课
 * </p>
 *
 * @author hpiggy
 * @since 2023-09-09
 */
@TableName("record_course")
@ApiModel(value = "RecordCourse对象", description = "记上课")
public class RecordCourse implements Serializable {

    private static final long serialVersionUID = 1L;

    private Long id;

    @ApiModelProperty("排课id或补课id")
    private Long schedulingDetailId;

    @ApiModelProperty("学生id")
    private Long studentId;

    private String studentName;

    @ApiModelProperty("学生所在班级id")
    private Long studentGradeId;

    @ApiModelProperty("1到课，2请假，3旷课")
    private Integer status;

    @ApiModelProperty("1排课班级里的学员，2临时学员，3插班补课学员")
    private Integer type;

    @ApiModelProperty("课程类别：1精品课（正常排课），3补课，4调课，5消课,6缺课补课")
    private Integer courseType;

    @ApiModelProperty("0未安排，1已补课，2已安排")
    private Integer isRepair;

    @ApiModelProperty("repair表id，安排的补课id")
    private Long repairId;

    @ApiModelProperty("安排的补课信息结束时间")
    private LocalDateTime repairEndDateTime;

    @ApiModelProperty("(此字段作废)")
    private String statusName;

    @ApiModelProperty("1正常，2迟到")
    private Integer reachType;

    @ApiModelProperty("校区id")
    private Long schoolId;

    private String schoolName;

    @ApiModelProperty("班级id")
    private Long gradeId;

    private String gradeName;

    @ApiModelProperty("老师id")
    private Long teacherId;

    private String teacherName;

    @ApiModelProperty("上课教室id")
    private Long classRoomId;

    private String classRoomName;

    @ApiModelProperty("课程id")
    private Long courseId;

    @ApiModelProperty("课程名")
    private String courseName;

    @ApiModelProperty("科目id")
    private Long subjectsId;

    private String subjectsName;

    @ApiModelProperty("原来的上课日期（如调课前的日期，用来做缺课使用）")
    private LocalDate oldSchoolDate;

    @ApiModelProperty("上课日期")
    private LocalDate schoolDate;

    @ApiModelProperty("上课开始时间")
    private String timeStart;

    @ApiModelProperty("上课结束时间")
    private String timeEnd;

    private LocalDateTime startDateTime;

    private LocalDateTime endDateTime;

    @ApiModelProperty("被扣课时的订单id")
    private Long orderDetailId;

    @ApiModelProperty("本次扣课时")
    private Integer buckleClassHouse;

    @ApiModelProperty("本次扣课时金额")
    private BigDecimal buckleClassMoney;

    @ApiModelProperty("老师得课时")
    private Integer teacherGetHouse;

    @ApiModelProperty("老师得金额")
    private BigDecimal teacherGetMoney;

    @ApiModelProperty("年份与季度")
    private Integer yearAndQuarter;

    @ApiModelProperty("年份")
    private Integer yearPart;

    @ApiModelProperty("季度")
    private Integer quarter;

    @ApiModelProperty("是否扣课时,0否，1是，2扣除异常（扣除不了）,3满15次课不扣课时")
    private Integer isDeductHouse;

    @ApiModelProperty("是否扣除金额")
    private Integer isDeductMoney;

    @ApiModelProperty("不需要扣课时（此字段作废）")
    private Integer noDeduct;

    @ApiModelProperty("扣课时备注")
    private String remark;

    @ApiModelProperty("扣课时方式，0未知，1自动，2是手动")
    private Integer deductType;

    private Long createdId;

    private Integer deleted;

    private LocalDateTime createdAt;

    private LocalDateTime updatedAt;

    private LocalDateTime deletedAt;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }
    public Long getSchedulingDetailId() {
        return schedulingDetailId;
    }

    public void setSchedulingDetailId(Long schedulingDetailId) {
        this.schedulingDetailId = schedulingDetailId;
    }
    public Long getStudentId() {
        return studentId;
    }

    public void setStudentId(Long studentId) {
        this.studentId = studentId;
    }
    public String getStudentName() {
        return studentName;
    }

    public void setStudentName(String studentName) {
        this.studentName = studentName;
    }
    public Long getStudentGradeId() {
        return studentGradeId;
    }

    public void setStudentGradeId(Long studentGradeId) {
        this.studentGradeId = studentGradeId;
    }
    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }
    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }
    public Integer getCourseType() {
        return courseType;
    }

    public void setCourseType(Integer courseType) {
        this.courseType = courseType;
    }
    public Integer getIsRepair() {
        return isRepair;
    }

    public void setIsRepair(Integer isRepair) {
        this.isRepair = isRepair;
    }
    public Long getRepairId() {
        return repairId;
    }

    public void setRepairId(Long repairId) {
        this.repairId = repairId;
    }
    public LocalDateTime getRepairEndDateTime() {
        return repairEndDateTime;
    }

    public void setRepairEndDateTime(LocalDateTime repairEndDateTime) {
        this.repairEndDateTime = repairEndDateTime;
    }
    public String getStatusName() {
        return statusName;
    }

    public void setStatusName(String statusName) {
        this.statusName = statusName;
    }
    public Integer getReachType() {
        return reachType;
    }

    public void setReachType(Integer reachType) {
        this.reachType = reachType;
    }
    public Long getSchoolId() {
        return schoolId;
    }

    public void setSchoolId(Long schoolId) {
        this.schoolId = schoolId;
    }
    public String getSchoolName() {
        return schoolName;
    }

    public void setSchoolName(String schoolName) {
        this.schoolName = schoolName;
    }
    public Long getGradeId() {
        return gradeId;
    }

    public void setGradeId(Long gradeId) {
        this.gradeId = gradeId;
    }
    public String getGradeName() {
        return gradeName;
    }

    public void setGradeName(String gradeName) {
        this.gradeName = gradeName;
    }
    public Long getTeacherId() {
        return teacherId;
    }

    public void setTeacherId(Long teacherId) {
        this.teacherId = teacherId;
    }
    public String getTeacherName() {
        return teacherName;
    }

    public void setTeacherName(String teacherName) {
        this.teacherName = teacherName;
    }
    public Long getClassRoomId() {
        return classRoomId;
    }

    public void setClassRoomId(Long classRoomId) {
        this.classRoomId = classRoomId;
    }
    public String getClassRoomName() {
        return classRoomName;
    }

    public void setClassRoomName(String classRoomName) {
        this.classRoomName = classRoomName;
    }
    public Long getCourseId() {
        return courseId;
    }

    public void setCourseId(Long courseId) {
        this.courseId = courseId;
    }
    public String getCourseName() {
        return courseName;
    }

    public void setCourseName(String courseName) {
        this.courseName = courseName;
    }
    public Long getSubjectsId() {
        return subjectsId;
    }

    public void setSubjectsId(Long subjectsId) {
        this.subjectsId = subjectsId;
    }
    public String getSubjectsName() {
        return subjectsName;
    }

    public void setSubjectsName(String subjectsName) {
        this.subjectsName = subjectsName;
    }
    public LocalDate getOldSchoolDate() {
        return oldSchoolDate;
    }

    public void setOldSchoolDate(LocalDate oldSchoolDate) {
        this.oldSchoolDate = oldSchoolDate;
    }
    public LocalDate getSchoolDate() {
        return schoolDate;
    }

    public void setSchoolDate(LocalDate schoolDate) {
        this.schoolDate = schoolDate;
    }
    public String getTimeStart() {
        return timeStart;
    }

    public void setTimeStart(String timeStart) {
        this.timeStart = timeStart;
    }
    public String getTimeEnd() {
        return timeEnd;
    }

    public void setTimeEnd(String timeEnd) {
        this.timeEnd = timeEnd;
    }
    public LocalDateTime getStartDateTime() {
        return startDateTime;
    }

    public void setStartDateTime(LocalDateTime startDateTime) {
        this.startDateTime = startDateTime;
    }
    public LocalDateTime getEndDateTime() {
        return endDateTime;
    }

    public void setEndDateTime(LocalDateTime endDateTime) {
        this.endDateTime = endDateTime;
    }
    public Long getOrderDetailId() {
        return orderDetailId;
    }

    public void setOrderDetailId(Long orderDetailId) {
        this.orderDetailId = orderDetailId;
    }
    public Integer getBuckleClassHouse() {
        return buckleClassHouse;
    }

    public void setBuckleClassHouse(Integer buckleClassHouse) {
        this.buckleClassHouse = buckleClassHouse;
    }
    public BigDecimal getBuckleClassMoney() {
        return buckleClassMoney;
    }

    public void setBuckleClassMoney(BigDecimal buckleClassMoney) {
        this.buckleClassMoney = buckleClassMoney;
    }
    public Integer getTeacherGetHouse() {
        return teacherGetHouse;
    }

    public void setTeacherGetHouse(Integer teacherGetHouse) {
        this.teacherGetHouse = teacherGetHouse;
    }
    public BigDecimal getTeacherGetMoney() {
        return teacherGetMoney;
    }

    public void setTeacherGetMoney(BigDecimal teacherGetMoney) {
        this.teacherGetMoney = teacherGetMoney;
    }
    public Integer getYearAndQuarter() {
        return yearAndQuarter;
    }

    public void setYearAndQuarter(Integer yearAndQuarter) {
        this.yearAndQuarter = yearAndQuarter;
    }
    public Integer getYearPart() {
        return yearPart;
    }

    public void setYearPart(Integer yearPart) {
        this.yearPart = yearPart;
    }
    public Integer getQuarter() {
        return quarter;
    }

    public void setQuarter(Integer quarter) {
        this.quarter = quarter;
    }
    public Integer getIsDeductHouse() {
        return isDeductHouse;
    }

    public void setIsDeductHouse(Integer isDeductHouse) {
        this.isDeductHouse = isDeductHouse;
    }
    public Integer getIsDeductMoney() {
        return isDeductMoney;
    }

    public void setIsDeductMoney(Integer isDeductMoney) {
        this.isDeductMoney = isDeductMoney;
    }
    public Integer getNoDeduct() {
        return noDeduct;
    }

    public void setNoDeduct(Integer noDeduct) {
        this.noDeduct = noDeduct;
    }
    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }
    public Integer getDeductType() {
        return deductType;
    }

    public void setDeductType(Integer deductType) {
        this.deductType = deductType;
    }
    public Long getCreatedId() {
        return createdId;
    }

    public void setCreatedId(Long createdId) {
        this.createdId = createdId;
    }
    public Integer getDeleted() {
        return deleted;
    }

    public void setDeleted(Integer deleted) {
        this.deleted = deleted;
    }
    public LocalDateTime getCreatedAt() {
        return createdAt;
    }

    public void setCreatedAt(LocalDateTime createdAt) {
        this.createdAt = createdAt;
    }
    public LocalDateTime getUpdatedAt() {
        return updatedAt;
    }

    public void setUpdatedAt(LocalDateTime updatedAt) {
        this.updatedAt = updatedAt;
    }
    public LocalDateTime getDeletedAt() {
        return deletedAt;
    }

    public void setDeletedAt(LocalDateTime deletedAt) {
        this.deletedAt = deletedAt;
    }

    @Override
    public String toString() {
        return "RecordCourse{" +
            "id=" + id +
            ", schedulingDetailId=" + schedulingDetailId +
            ", studentId=" + studentId +
            ", studentName=" + studentName +
            ", studentGradeId=" + studentGradeId +
            ", status=" + status +
            ", type=" + type +
            ", courseType=" + courseType +
            ", isRepair=" + isRepair +
            ", repairId=" + repairId +
            ", repairEndDateTime=" + repairEndDateTime +
            ", statusName=" + statusName +
            ", reachType=" + reachType +
            ", schoolId=" + schoolId +
            ", schoolName=" + schoolName +
            ", gradeId=" + gradeId +
            ", gradeName=" + gradeName +
            ", teacherId=" + teacherId +
            ", teacherName=" + teacherName +
            ", classRoomId=" + classRoomId +
            ", classRoomName=" + classRoomName +
            ", courseId=" + courseId +
            ", courseName=" + courseName +
            ", subjectsId=" + subjectsId +
            ", subjectsName=" + subjectsName +
            ", oldSchoolDate=" + oldSchoolDate +
            ", schoolDate=" + schoolDate +
            ", timeStart=" + timeStart +
            ", timeEnd=" + timeEnd +
            ", startDateTime=" + startDateTime +
            ", endDateTime=" + endDateTime +
            ", orderDetailId=" + orderDetailId +
            ", buckleClassHouse=" + buckleClassHouse +
            ", buckleClassMoney=" + buckleClassMoney +
            ", teacherGetHouse=" + teacherGetHouse +
            ", teacherGetMoney=" + teacherGetMoney +
            ", yearAndQuarter=" + yearAndQuarter +
            ", yearPart=" + yearPart +
            ", quarter=" + quarter +
            ", isDeductHouse=" + isDeductHouse +
            ", isDeductMoney=" + isDeductMoney +
            ", noDeduct=" + noDeduct +
            ", remark=" + remark +
            ", deductType=" + deductType +
            ", createdId=" + createdId +
            ", deleted=" + deleted +
            ", createdAt=" + createdAt +
            ", updatedAt=" + updatedAt +
            ", deletedAt=" + deletedAt +
        "}";
    }
}
